A typical disc drive includes one or more discs mounted for rotation on a hub or spindle. A typical disc drive also includes a transducer supported by a hydrodynamic air bearing which flies above each disc. The transducer and the hydrodynamic air bearing are collectively referred to as a data head. A drive controller is conventionally used for controlling the disc drive based on commands received from a host system. The drive controller controls the disc drive to retrieve information from the discs and to store information on the discs.
In one conventional disc drive, an electromechanical actuator operates within a negative feedback, closed-loop servo system. The actuator moves the data head radially over the disc surface for track seek operations and holds the transducer directly over a track on the disc surface for track following operations.
Information is typically stored in concentric tracks on the surface of discs by providing a write signal to the data head to write information on the surface of the disc representing the data to be stored. In retrieving data from the disc, the drive controller controls the electromechanical actuator so that the data head flies above the disc, sensing the flux reversals on the disc, and generating a read signal based on those flux reversals. The read signal is typically conditioned and then decoded by the drive read/write channel and the controller to recover the data.
A typical data storage channel includes the disc, the data head, automatic gain control circuitry, a low pass filter, an analog-to-digital converter, a data detector, and a decoder. The read channel can be implemented either as discrete circuitry, or in a drive controller associated with the disc drive. Such a drive controller typically includes error detection and correction components as well.
A Viterbi detector has been used in the past as a data detector in a disc drive read channel. A Viterbi detector acts as a maximum-likelihood sequence estimator when the input to the detector consists of a signal plus additive white, Gaussian noise, and when a typical branch metric (the square of the error in the signal provided to the detector) is used.
In digital magnetic recording, the pulse response of the channel has conventionally been equalized to a suitable partial response (PR) target of the form (1-D) (1+D).sup.n, wherein n is a non-negative integer and D is a delay operator. A number of different PR targets have been developed. For example, when n=1, 2, and 3, the resulting PR targets are referred to as partial response class 4 (PR4), extended partial response class 4 (EPR4), and enhanced extended partial response class 4 (E.sup.2 PR4) channels, respectively.
Forcing the magnetic channel pulse response to a prescribed target generally results in noise enhancement and noise correlation. To reduce such effects, the channel target response can be generalized to a PR polynomial of the form: EQU f(D)=1+f.sub.1 D+f.sub.2 D.sup.2 + . . . +f.sub.n D.sup.n
where, without loss of generality, f.sub.0 is normalized to 1 and the f.sub.i terms are allowed to take non-integer values. PA1 has 2.sup.4 =16 states. Of course, as n is increased, the number of Viterbi states can become prohibitively large. In order to alleviate the complexity of such detectors, local feedback can be implemented in order to eliminate some of the intersymbol interference (ISI) terms. Such detectors are referred to as reduced-state sequence estimators (RSSE) and include 2.sup.m states and (n-m) feedback taps, where m is less than or equal n.
Given the generalized channel target response set out above, the number of states required in a Viterbi trellis is equal to 2.sup.n. For example, a Viterbi detector for the E.sup.2 PR4 channel given by: EQU f.sub.E.sup.2.sub.PR4 (D)=1+2D-2D.sup.3 -D.sup.4
The bit error rate performance of Viterbi detectors is dominated by the minimum Euclidean distance between two disjoint channel output sequences. In digital magnetic recording, it has been observed that the dominant error events from maximum likelihood sequence detectors at high linear recording densities as well as certain high order PR channels (such as E.sup.2 PR4) are generally of the form +/- (2, -2, 2). Here, the error event denotes the difference between two input sequences, when the input bits are +/-1. Such errors are typically caused when a tribit is shifted by one sample time, or when a quadbit is mistaken as a dibit or vice versa.